import java.util.Scanner;

public class Answer1 {

    public static void main(String[] args) {
        Scanner in = new Scanner(System.in);
        long n = in.nextLong(), m = in.nextLong();
        long a = in.nextLong(), b = in.nextLong();
        long sum = 0;
        //  贪心：极端条件会出问题
        long y = Math.min(n, m / 2); // b礼包的数目

        long x = Math.min((n - y) / 2, m - 2 * y); // a礼包的数目


        sum += x * a;
        sum += y * b;
        System.out.println(sum);
    }


/*    // 游游水果大礼包
    public static void main(String[] args) {
        // 采用枚举------------贪心：极端条件会出问题
        Scanner in=new Scanner(System.in);
        int n=in.nextInt();         // 总苹果数
        int m=in.nextInt();         // 总桃子树
        int a=in.nextInt();         // 2个苹果，1个桃子的一号礼包价值
        int b=in.nextInt();         // 1个苹果，2个桃子的二号礼包价值

        long max=0;
        for(int x=0;x<=Math.min(n/2,m);x++){     // 列出1号礼包的个数
            int y=Math.min(n-2*x,(m-x)/2);       // 列出2号礼包的个数

            max=Math.max(max,a*x+b*y);
        }

        System.out.println(max);

    }*/
}
